/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * JPanelFileSetJavaSourceFiles.java
 *
 * Created on 14.11.2009, 14:06:40
 */

package de.jmda.mproc.swingui;

import java.awt.EventQueue;
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.UIManager;

import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel;

import de.jmda.gui.swing.mvc.ControllerContextProvider;
import de.jmda.gui.swing.mvc.ControllerSupportEnabled;
import de.jmda.util.fileset.FileSetJavaFilesOnly;
import de.jmda.util.gui.swing.JPanelFavouritesModel;

/**
 *
 */
@ControllerSupportEnabled
public class JPanelFileSetJavaSourceFiles
		extends javax.swing.JPanel
		implements ControllerContextProvider
{
	/** Creates new form JPanelFileSetJavaSourceFiles */
	private JPanelFileSetJavaSourceFiles()
	{
		initComponents();
	}

	/** Creates new form JPanelFileSetJavaSourceFiles */
	public JPanelFileSetJavaSourceFiles(
			JPanelFileSetJavaSourceFilesModel jPanelFileSetJavaSourceFilesModel)
	{
		this();
		controller.refreshControllerContext();
		controller.setModel(jPanelFileSetJavaSourceFilesModel);
	}
	
	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	@SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  private void initComponents() {
    java.awt.GridBagConstraints gridBagConstraints;

    jPanelToolbarBar = new javax.swing.JPanel();
    jLabelJavaSourceFileSet = new javax.swing.JLabel();
    jButtonShowFiles = new javax.swing.JButton();
    jButtonAdd = new javax.swing.JButton();
    jButtonRemove = new javax.swing.JButton();
    jSplitPaneOuter = new javax.swing.JSplitPane();
    jSplitPaneInner = new javax.swing.JSplitPane();
    jSplitPaneMiddle = new javax.swing.JSplitPane();
    jScrollPaneDirectoriesIncludes = new javax.swing.JScrollPane();
    jListSourcesDirectoriesIncludes = new javax.swing.JList();
    jScrollPaneDirectoriesExcludes = new javax.swing.JScrollPane();
    jListSourcesDirectoriesExcludes = new javax.swing.JList();
    jSplitPaneRight = new javax.swing.JSplitPane();
    jScrollPaneFilesIncludes = new javax.swing.JScrollPane();
    jListSourcesFilesIncludes = new javax.swing.JList();
    jScrollPaneFilesExcludes = new javax.swing.JScrollPane();
    jListSourcesFilesExcludes = new javax.swing.JList();
    jSplitPaneLeft = new javax.swing.JSplitPane();
    jScrollPaneRootDirectoriesIncludes = new javax.swing.JScrollPane();
    jListSourcesRootDirectoriesIncludes = new javax.swing.JList();
    jScrollPaneRootDirectoriesExcludes = new javax.swing.JScrollPane();
    jListSourcesRootDirectoriesExcludes = new javax.swing.JList();
    jPanel1 = new javax.swing.JPanel();
    jCheckBoxSynchronizeHorizontalDividers = new javax.swing.JCheckBox();
    jButtonRearrangeVerticalDividers = new javax.swing.JButton();

    setMinimumSize(new java.awt.Dimension(600, 400));
    setPreferredSize(new java.awt.Dimension(600, 400));
    setLayout(new java.awt.GridBagLayout());

    jPanelToolbarBar.setLayout(new java.awt.GridBagLayout());

    jLabelJavaSourceFileSet.setText("java source file set");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.weightx = 1.0;
    jPanelToolbarBar.add(jLabelJavaSourceFileSet, gridBagConstraints);

    jButtonShowFiles.setText("show files");
    jButtonShowFiles.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        jButtonShowFilesActionPerformed(evt);
      }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 0;
    jPanelToolbarBar.add(jButtonShowFiles, gridBagConstraints);

    jButtonAdd.setText("add");
    jButtonAdd.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        jButtonAddActionPerformed(evt);
      }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 2;
    gridBagConstraints.gridy = 0;
    jPanelToolbarBar.add(jButtonAdd, gridBagConstraints);

    jButtonRemove.setText("remove");
    jButtonRemove.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        jButtonRemoveActionPerformed(evt);
      }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 3;
    gridBagConstraints.gridy = 0;
    jPanelToolbarBar.add(jButtonRemove, gridBagConstraints);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    add(jPanelToolbarBar, gridBagConstraints);

    jSplitPaneOuter.setDividerLocation(195);
    jSplitPaneOuter.setOneTouchExpandable(true);

    jSplitPaneInner.setDividerLocation(195);
    jSplitPaneInner.setOneTouchExpandable(true);

    jSplitPaneMiddle.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "directories", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.ABOVE_TOP));
    jSplitPaneMiddle.setDividerLocation(170);
    jSplitPaneMiddle.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
    jSplitPaneMiddle.setOneTouchExpandable(true);
    jSplitPaneMiddle.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
      public void propertyChange(java.beans.PropertyChangeEvent evt) {
        jSplitPaneMiddlePropertyChange(evt);
      }
    });

    jListSourcesDirectoriesIncludes.setBorder(javax.swing.BorderFactory.createTitledBorder("include"));
    jListSourcesDirectoriesIncludes.setModel(new javax.swing.AbstractListModel() {
      String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
      public int getSize() { return strings.length; }
      public Object getElementAt(int i) { return strings[i]; }
    });
    jListSourcesDirectoriesIncludes.setToolTipText("directories that include their files into the source file set");
    jListSourcesDirectoriesIncludes.addFocusListener(new java.awt.event.FocusAdapter() {
      public void focusGained(java.awt.event.FocusEvent evt) {
        jListSourcesDirectoriesIncludesFocusGained(evt);
      }
    });
    jScrollPaneDirectoriesIncludes.setViewportView(jListSourcesDirectoriesIncludes);

    jSplitPaneMiddle.setTopComponent(jScrollPaneDirectoriesIncludes);

    jListSourcesDirectoriesExcludes.setBorder(javax.swing.BorderFactory.createTitledBorder("exclude"));
    jListSourcesDirectoriesExcludes.setModel(new javax.swing.AbstractListModel() {
      String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
      public int getSize() { return strings.length; }
      public Object getElementAt(int i) { return strings[i]; }
    });
    jListSourcesDirectoriesExcludes.setToolTipText("directories that exclude their files from the source file set");
    jListSourcesDirectoriesExcludes.addFocusListener(new java.awt.event.FocusAdapter() {
      public void focusGained(java.awt.event.FocusEvent evt) {
        jListSourcesDirectoriesExcludesFocusGained(evt);
      }
    });
    jScrollPaneDirectoriesExcludes.setViewportView(jListSourcesDirectoriesExcludes);

    jSplitPaneMiddle.setRightComponent(jScrollPaneDirectoriesExcludes);

    jSplitPaneInner.setLeftComponent(jSplitPaneMiddle);

    jSplitPaneRight.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "files", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.ABOVE_TOP));
    jSplitPaneRight.setDividerLocation(170);
    jSplitPaneRight.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
    jSplitPaneRight.setOneTouchExpandable(true);
    jSplitPaneRight.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
      public void propertyChange(java.beans.PropertyChangeEvent evt) {
        jSplitPaneRightPropertyChange(evt);
      }
    });

    jListSourcesFilesIncludes.setBorder(javax.swing.BorderFactory.createTitledBorder("include"));
    jListSourcesFilesIncludes.setModel(new javax.swing.AbstractListModel() {
      String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
      public int getSize() { return strings.length; }
      public Object getElementAt(int i) { return strings[i]; }
    });
    jListSourcesFilesIncludes.setToolTipText("files included to the source file set");
    jListSourcesFilesIncludes.addFocusListener(new java.awt.event.FocusAdapter() {
      public void focusGained(java.awt.event.FocusEvent evt) {
        jListSourcesFilesIncludesFocusGained(evt);
      }
    });
    jScrollPaneFilesIncludes.setViewportView(jListSourcesFilesIncludes);

    jSplitPaneRight.setTopComponent(jScrollPaneFilesIncludes);

    jListSourcesFilesExcludes.setBorder(javax.swing.BorderFactory.createTitledBorder("exclude"));
    jListSourcesFilesExcludes.setModel(new javax.swing.AbstractListModel() {
      String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
      public int getSize() { return strings.length; }
      public Object getElementAt(int i) { return strings[i]; }
    });
    jListSourcesFilesExcludes.setToolTipText("files excluded from the source file set");
    jListSourcesFilesExcludes.addFocusListener(new java.awt.event.FocusAdapter() {
      public void focusGained(java.awt.event.FocusEvent evt) {
        jListSourcesFilesExcludesFocusGained(evt);
      }
    });
    jScrollPaneFilesExcludes.setViewportView(jListSourcesFilesExcludes);

    jSplitPaneRight.setRightComponent(jScrollPaneFilesExcludes);

    jSplitPaneInner.setRightComponent(jSplitPaneRight);

    jSplitPaneOuter.setRightComponent(jSplitPaneInner);

    jSplitPaneLeft.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "root directories", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.ABOVE_TOP));
    jSplitPaneLeft.setDividerLocation(170);
    jSplitPaneLeft.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
    jSplitPaneLeft.setOneTouchExpandable(true);
    jSplitPaneLeft.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
      public void propertyChange(java.beans.PropertyChangeEvent evt) {
        jSplitPaneLeftPropertyChange(evt);
      }
    });

    jListSourcesRootDirectoriesIncludes.setBorder(javax.swing.BorderFactory.createTitledBorder("include"));
    jListSourcesRootDirectoriesIncludes.setModel(new javax.swing.AbstractListModel() {
      String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
      public int getSize() { return strings.length; }
      public Object getElementAt(int i) { return strings[i]; }
    });
    jListSourcesRootDirectoriesIncludes.setToolTipText("root directories that include their files and their subdirectories together with their respective files into the source file set");
    jListSourcesRootDirectoriesIncludes.addFocusListener(new java.awt.event.FocusAdapter() {
      public void focusGained(java.awt.event.FocusEvent evt) {
        jListSourcesRootDirectoriesIncludesFocusGained(evt);
      }
    });
    jScrollPaneRootDirectoriesIncludes.setViewportView(jListSourcesRootDirectoriesIncludes);

    jSplitPaneLeft.setTopComponent(jScrollPaneRootDirectoriesIncludes);

    jListSourcesRootDirectoriesExcludes.setBorder(javax.swing.BorderFactory.createTitledBorder("exclude"));
    jListSourcesRootDirectoriesExcludes.setModel(new javax.swing.AbstractListModel() {
      String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
      public int getSize() { return strings.length; }
      public Object getElementAt(int i) { return strings[i]; }
    });
    jListSourcesRootDirectoriesExcludes.setToolTipText("root directories that exclude their files and their subdirectories together with their respective files from the source file set");
    jListSourcesRootDirectoriesExcludes.addFocusListener(new java.awt.event.FocusAdapter() {
      public void focusGained(java.awt.event.FocusEvent evt) {
        jListSourcesRootDirectoriesExcludesFocusGained(evt);
      }
    });
    jScrollPaneRootDirectoriesExcludes.setViewportView(jListSourcesRootDirectoriesExcludes);

    jSplitPaneLeft.setRightComponent(jScrollPaneRootDirectoriesExcludes);

    jSplitPaneOuter.setLeftComponent(jSplitPaneLeft);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.weighty = 1.0;
    add(jSplitPaneOuter, gridBagConstraints);

    jPanel1.setLayout(new java.awt.GridBagLayout());

    jCheckBoxSynchronizeHorizontalDividers.setText("synchronize horizontal dividers");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    jPanel1.add(jCheckBoxSynchronizeHorizontalDividers, gridBagConstraints);

    jButtonRearrangeVerticalDividers.setText("rearrange vertical dividers");
    jButtonRearrangeVerticalDividers.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        jButtonRearrangeVerticalDividersActionPerformed(evt);
      }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    jPanel1.add(jButtonRearrangeVerticalDividers, gridBagConstraints);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    add(jPanel1, gridBagConstraints);
  }// </editor-fold>//GEN-END:initComponents

	private void jButtonShowFilesActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jButtonShowFilesActionPerformed
	{//GEN-HEADEREND:event_jButtonShowFilesActionPerformed
		controller.jButtonShowFilesActionPerformed(evt);
	}//GEN-LAST:event_jButtonShowFilesActionPerformed

	private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jButtonAddActionPerformed
	{//GEN-HEADEREND:event_jButtonAddActionPerformed
		controller.jButtonAddActionPerformed(evt);
	}//GEN-LAST:event_jButtonAddActionPerformed

	private void jButtonRemoveActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jButtonRemoveActionPerformed
	{//GEN-HEADEREND:event_jButtonRemoveActionPerformed
		controller.jButtonRemoveActionPerformed(evt);
	}//GEN-LAST:event_jButtonRemoveActionPerformed

	private void jListSourcesRootDirectoriesIncludesFocusGained(
	    java.awt.event.FocusEvent evt)//GEN-FIRST:event_jListSourcesRootDirectoriesIncludesFocusGained
	{//GEN-HEADEREND:event_jListSourcesRootDirectoriesIncludesFocusGained
		controller.jListSourcesFocusGained(evt);
	}//GEN-LAST:event_jListSourcesRootDirectoriesIncludesFocusGained

	private void jListSourcesRootDirectoriesExcludesFocusGained(
	    java.awt.event.FocusEvent evt)//GEN-FIRST:event_jListSourcesRootDirectoriesExcludesFocusGained
	{//GEN-HEADEREND:event_jListSourcesRootDirectoriesExcludesFocusGained
		controller.jListSourcesFocusGained(evt);
	}//GEN-LAST:event_jListSourcesRootDirectoriesExcludesFocusGained

	private void jListSourcesDirectoriesIncludesFocusGained(
	    java.awt.event.FocusEvent evt)//GEN-FIRST:event_jListSourcesDirectoriesIncludesFocusGained
	{//GEN-HEADEREND:event_jListSourcesDirectoriesIncludesFocusGained
		controller.jListSourcesFocusGained(evt);
	}//GEN-LAST:event_jListSourcesDirectoriesIncludesFocusGained

	private void jListSourcesDirectoriesExcludesFocusGained(
	    java.awt.event.FocusEvent evt)//GEN-FIRST:event_jListSourcesDirectoriesExcludesFocusGained
	{//GEN-HEADEREND:event_jListSourcesDirectoriesExcludesFocusGained
		controller.jListSourcesFocusGained(evt);
	}//GEN-LAST:event_jListSourcesDirectoriesExcludesFocusGained

	private void jListSourcesFilesIncludesFocusGained(
	    java.awt.event.FocusEvent evt)//GEN-FIRST:event_jListSourcesFilesIncludesFocusGained
	{//GEN-HEADEREND:event_jListSourcesFilesIncludesFocusGained
		controller.jListSourcesFocusGained(evt);
	}//GEN-LAST:event_jListSourcesFilesIncludesFocusGained

	private void jListSourcesFilesExcludesFocusGained(
	    java.awt.event.FocusEvent evt)//GEN-FIRST:event_jListSourcesFilesExcludesFocusGained
	{//GEN-HEADEREND:event_jListSourcesFilesExcludesFocusGained
		controller.jListSourcesFocusGained(evt);
	}//GEN-LAST:event_jListSourcesFilesExcludesFocusGained

	private void jButtonRearrangeVerticalDividersActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jButtonRearrangeVerticalDividersActionPerformed
	{//GEN-HEADEREND:event_jButtonRearrangeVerticalDividersActionPerformed
		controller.rearrangeVerticalDividers();
	}//GEN-LAST:event_jButtonRearrangeVerticalDividersActionPerformed

	private void jSplitPaneLeftPropertyChange(java.beans.PropertyChangeEvent evt)//GEN-FIRST:event_jSplitPaneLeftPropertyChange
	{//GEN-HEADEREND:event_jSplitPaneLeftPropertyChange
		controller.jSplitPaneLeftMiddleRightPropertyChange(evt);
	}//GEN-LAST:event_jSplitPaneLeftPropertyChange

	private void jSplitPaneMiddlePropertyChange(java.beans.PropertyChangeEvent evt)//GEN-FIRST:event_jSplitPaneMiddlePropertyChange
	{//GEN-HEADEREND:event_jSplitPaneMiddlePropertyChange
		controller.jSplitPaneLeftMiddleRightPropertyChange(evt);
	}//GEN-LAST:event_jSplitPaneMiddlePropertyChange

	private void jSplitPaneRightPropertyChange(java.beans.PropertyChangeEvent evt)//GEN-FIRST:event_jSplitPaneRightPropertyChange
	{//GEN-HEADEREND:event_jSplitPaneRightPropertyChange
		controller.jSplitPaneLeftMiddleRightPropertyChange(evt);
	}//GEN-LAST:event_jSplitPaneRightPropertyChange

	/**
	 * @param args the command line arguments
	 */
	public static void main(final String args[])
	{
		try
		{
			UIManager.setLookAndFeel(NimbusLookAndFeel.class.getName());
		}
		catch (Exception e)
		{
			try
			{
				UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			}
			catch (Exception e1)
			{
				// no exception expected with system look and feel
			}
		}

		EventQueue.invokeLater
		(
				new Runnable()
				{
					public void run()
					{
						JFrame jFrame =
								new JFrame(
										"test window for " +
												JPanelFileSetJavaSourceFiles.class.getName());

						jFrame.setDefaultCloseOperation(
								javax.swing.WindowConstants.EXIT_ON_CLOSE);

						List<File> favourites = new LinkedList<File>();

						try
		        {
			        favourites.add(new File(new File(".").getCanonicalPath()));
//							favourites.add(new File("1"));
//							favourites.add(new File("2"));
//							favourites.add(new File("3"));
		        }
		        catch (IOException e)
		        {
            	System.err.println("failure getting canonical path for .");
		        }

						jFrame.add
						(
            		new JPanelFileSetJavaSourceFiles
            		(
            				new JPanelFileSetJavaSourceFilesModel(
            						new FileSetJavaFilesOnly(),
            						new JPanelFavouritesModel(favourites))
            		)
            );

						jFrame.pack();
						jFrame.setVisible(true);
					}
				}
		);
	}

  // Variables declaration - do not modify//GEN-BEGIN:variables
  private javax.swing.JButton jButtonAdd;
  private javax.swing.JButton jButtonRearrangeVerticalDividers;
  private javax.swing.JButton jButtonRemove;
  private javax.swing.JButton jButtonShowFiles;
  private javax.swing.JCheckBox jCheckBoxSynchronizeHorizontalDividers;
  private javax.swing.JLabel jLabelJavaSourceFileSet;
  private javax.swing.JList jListSourcesDirectoriesExcludes;
  private javax.swing.JList jListSourcesDirectoriesIncludes;
  private javax.swing.JList jListSourcesFilesExcludes;
  private javax.swing.JList jListSourcesFilesIncludes;
  private javax.swing.JList jListSourcesRootDirectoriesExcludes;
  private javax.swing.JList jListSourcesRootDirectoriesIncludes;
  private javax.swing.JPanel jPanel1;
  private javax.swing.JPanel jPanelToolbarBar;
  private javax.swing.JScrollPane jScrollPaneDirectoriesExcludes;
  private javax.swing.JScrollPane jScrollPaneDirectoriesIncludes;
  private javax.swing.JScrollPane jScrollPaneFilesExcludes;
  private javax.swing.JScrollPane jScrollPaneFilesIncludes;
  private javax.swing.JScrollPane jScrollPaneRootDirectoriesExcludes;
  private javax.swing.JScrollPane jScrollPaneRootDirectoriesIncludes;
  private javax.swing.JSplitPane jSplitPaneInner;
  private javax.swing.JSplitPane jSplitPaneLeft;
  private javax.swing.JSplitPane jSplitPaneMiddle;
  private javax.swing.JSplitPane jSplitPaneOuter;
  private javax.swing.JSplitPane jSplitPaneRight;
  // End of variables declaration//GEN-END:variables
	//GEN-BEGIN:controller support
	@de.jmda.gui.swing.mvc.ControllerSupportDisabled                     
	private de.jmda.mproc.swingui.JPanelFileSetJavaSourceFilesController controller =                       
			new de.jmda.mproc.swingui.JPanelFileSetJavaSourceFilesController(this);                             
                                                                         
	public de.jmda.gui.swing.mvc.ControllerContext getControllerContext()
	{                                                                      
		return new de.jmda.mproc.swingui.JPanelFileSetJavaSourceFilesControllerContext(
				this,
				jButtonAdd,
				jButtonRearrangeVerticalDividers,
				jButtonRemove,
				jButtonShowFiles,
				jCheckBoxSynchronizeHorizontalDividers,
				jLabelJavaSourceFileSet,
				jListSourcesDirectoriesExcludes,
				jListSourcesDirectoriesIncludes,
				jListSourcesFilesExcludes,
				jListSourcesFilesIncludes,
				jListSourcesRootDirectoriesExcludes,
				jListSourcesRootDirectoriesIncludes,
				jPanel1,
				jPanelToolbarBar,
				jScrollPaneDirectoriesExcludes,
				jScrollPaneDirectoriesIncludes,
				jScrollPaneFilesExcludes,
				jScrollPaneFilesIncludes,
				jScrollPaneRootDirectoriesExcludes,
				jScrollPaneRootDirectoriesIncludes,
				jSplitPaneInner,
				jSplitPaneLeft,
				jSplitPaneMiddle,
				jSplitPaneOuter,
				jSplitPaneRight);                             
	}                                                                      
	//GEN-END:controller support
}